# 1.exact精确查找
# article = Article.objects.filter(id__exact=2)
# None为sql里的null，类似于where

# 2.iexact
# 类似于sql里的like

# get返回对象，filter返回query集

# 3.contains大小写敏感，模糊查询功能
# icontains大小写不敏感，模糊查询功能

# 4.in
# 检查是否在列表中


# 多表使用查询

# 加限制条件  表名__id__in=[]

# 5.gt gte lt lte

# 6.startwith and endwith
# 加i忽略大小写

# 7.时间查询条件
# range时间范围
# date需要配置数据库时区文件
# year，month，day， week_day, time

# 8.isnull 找出为空的值

# 9.regex正则
# iregex大小写不敏感

# 聚合函数aggregate和annotate（能实现分组追加到原来的表）

# 1.avg平均值
# result = Book.objects.aggregate(avg=models.Avg("price"))
# 2.count
# result = Book.objects.aggregate(count=models.Count("id"))
# result = Author.objects.aggregate(count=models.Count('email',distinct=True))
# 3.max min
# result = Author.objects.aggregate(max_age=models.Max("age"))
# 4.sum
# book = Book.objects.filter(pk=2).aggregate()


# F表达式
# 在之前的基础上直接操作，无需拿到数据在保存
# Q表达式
# 多条件 做与或非操作
